home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
4_0
/
UUPC3
/
(OLD_SUP
/
README.UUP
< prev
Wrap
Text File
|
1988-03-10
|
9KB
|
278 lines
July 29/87 Stuart Lynne
UUPC is now running on Macintosh, Atari-ST, Amiga, and IBM-PC with MS-DOS.
These versions will constitute my first release of uupc and pcmail. Please
see the README files in each shar file for appropriate instructions.
As is, uupc sends and receives files quite well. Still unimplemented is
the reverse direction file transfers, i.e. send a file to a remote host
while in slave mode, receive a file while in master mode. These are not
needed to support news and mail. A proper uucp command is need too.
The user agent mail program is a very simple hack to simply allow you to
read and send mail. Hopefully someone will work on replacing this!
The message transfer agent pcmail program is fairly robust. It does need to
have some more intelligence to allow for more intelligent routing of outgoing
mail. Currently ALL outgoing mail is forward to a single remote site for
processing. This will actually handle the needs of a large number of users
but for those lucky ones who can actually get access to several large uucp
sites better routine would be nice.
Other things which are needed:
news unbatcher
news reader
Currently the news is simply spooled to a directory with a unique file name.
You can read this with a normal text editor. If you wish to have outgoing mail
the easiest way is to have your news feed set up alias's like:
comp.sys.amiga "| /usr/local/lib/news/recnews comp.sys.amiga"
Then simply mail your article to:
comp.sys.amiga@newsfeedhost.uucp
Please feel free to port this code to other environments. I ask only that you
try and limit changes to the machine independent code. Things have been setup
so that you shouldn't have to modify dcp, uupc, mail or pcmail if you are simply
porting to a new environment.
Please send me any new versions, diff's to get old versions working better,
bug fixes etc.
Have fun and enjoy.
I would suggest that questions and comments about uupc/dcp/mail be directed
to comp.mail.uucp on Usenet. This group is about "Mail in the uucp network
environment." which describes uupc pretty well.
Questions, bug fixes etc
uupc, mac version, information
Stuart Lynne
stuart.lynne@van-bc.uucp
{{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!Stuart.Lynne 604-937-7532
Amiga version
Jeff Lydiatt
jl@jlami.vnet.van-bc.uucp
{{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!jlami!jl
Atari ST version
Lawrence Harris
lawrence@nvanbc.uucp
{{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!nvanbc!lawrence
IBM PC - MS-DOS version
Samuel Lam
skl@sklpc.vnet.van-bc.uucp
{{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!skl
uupc mailing list
uupc@van-bc.uucp Automatically forwarded to mailing list
uupc-request@van-bc.uucp For requests to be added to mailing list
{{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!nvanbc!uupc
{{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!nvanbc!uupc-request
NB. Rurrently UUNET is only polled twice per week, you may wish to send
any messages via both paths to ensure delivery. UUNET is probably more
reliable, ubc-vision may be faster if you can reach them from your site.
uupc June 8, 1987 Stuart Lynne
For Beta implementors only.
uupc incorporates a streamlined version of dcp to implement a uucp mail
and news delivery system.
See README.DCP for dcp info.
By moving the host dependant code into one file the other four dcp files can
hopefully be maintained easily. It should be possible to maintain one version
of them which compiles and runs on all machines without conditional compilation
flags.
The host file should contain:
- serial I/O
- BSD compatible directory routines
- system call stuff
This all goes to implement a command called uupc. It is similiar to the uucico
command under unix.
uupc [-xn] [-shost]
There is also two mail source files. Pcmail is the MTA part of the mail system.
It compiles in two ways, one for rmail (add only From and Received: headers),
define a simple rnews; and for lmail (add all headers). Pcmail will effect
delivery of mail to local and remote users. Currently all remote mail is
directed to one smart host for forwarding.
Mail is a simple UA. It allows you to send mail and read your mailbox. It needs
lots of work but is servicable.
mail -s "subject here" user user@remote.site.domain < message
mail -f =mailbox
mail
will all do the obvious. Mail will append a .signature if it can find one, and
will keep a copy of your outgoing mail in =mail.sent.
ToDo:
uucp command
mail improvements
bug fixes to uupc/dcp
ports to Atari, Amiga, IBM PC, VMS
Makefile - sample Makefile (Macintosh Aztec C)
getargs.c - library routine
lmail.c - define LMAIL; include pcmail
mail.c - mail program (UA)
pcmail.c - mail program (MTA)
rmail.c - define RMAIL; include pcmail
lib.c - misc library routines, FOPEN, CREAT, getargs, printmsg
host.h - prototype for host.c, includes "local/host.h"
mailhost.c - ditto for mailhost.c, includes "local/host.c"
mlib.c - ditto for mlib.c, includes "local/mlib.c"
ulib.c - ditto for ulib.c, includes "local/ulib.c"
uuhost.c - ditto for uuhost.c, includes "local/host.c"
pcmail in general
Pcmail provides MTA functionality. It delivers the mail. Currently it is
very dumb about forwarding mail. Local deliveries always succeed if there
is room and the mail spooling directory exists. No "/etc/passwd" file list
of users is used to determine if there really is a mailbox for an incoming
message. Also outgoing mail is assumed to go to one smart host for
processing. This is determined by scanning for "!" or "@" in the address.
Both local and remote delivery algorithms could be souped up. Locally we
should maintain a list of mailboxes. For remote we should attempt to build
a path to the most reasonable host for forwarding a specific message. This
will require a small version of the paths database most likely. If your
only talking to one host anyway the current scheme is not all that bad.
Pcmail has one additional capability which is not currently being exploited.
It can add additional message length header lines and spool mail into a
mailbag. This mailbag could then be sent intact to your host for processing.
The host must run rpcmail (availble from sl@van-bc.uucp) to unbatch the
messages to rmail. This corresponds to the AT&T Mail protocol for uploading
mail from PC's.
Most likely the converse capability would be more suitable. Have the host
batch incoming mail and news. Unbatch it on this side.
pcmail / LMAiL
The mail UA is composed of the mail.c program and pcmail.c compiled without
defining RMAIL (LMAIL). The LMAIL version of pcmail adds rfc822 headers
to all mail, copies mail to =mail.sent etc.
pcmail / RMAIL
The uu program contains the RMAIL version of pcmail. It only adds the From
Received: headers to incoming mail.
For more information, bug fixes, more commands etc:
Stuart.Lynne@van-bc.uucp
604-937-7532
Directory tree
/usr
/usr/lib
/usr/lib/uucp
/usr/lib/uucp/SEQF - sequence numbers
/usr/lib/uucp/systems - host connection information
/usr/spool
/usr/spool/mail - mail directory
/usr/spool/mail/XXXX - user mail files
/usr/spool/rnews - rnews spool/file
/usr/spool/uucp - spool directory
/usr/spool/uucp/C.YYYYYNNNN - copy control files
/usr/spool/uucp/D.YYYYYNNNN - uucp data files
/usr/spool/uucp/dcp.log - log file
/usr/spool/uucp/X.YYYYYNNNN - execute control files
/usr/XXXX - user directories
/usr/XXXX/.signature - signature file
/usr/XXXX/Mail - user mail directory
/usr/XXXX/Mail/mail.sent - sent file
/tmp - temporary files
Systems File
NB. I have split the lines, in the real file they should be one line for
each entry.
This entry uses the built in Hayes dialer.
van-bc Any a HAYES TD939-4782 g ogin:--ogin: uuslmac sword:-\c-sword: uuslmac
Connect to van-bc using HAYES dialer with phone number 939-4782 with
protocol g.
Wait for ogin: if timeout send \n and wait for ogin:.
Send uuslmac (login ID).
Wait for sword:, if timeout send nothing, wait for sword:
Send uuslamc (login ID).
I use this entry to connect via a DC Hayes Smartmodem 2400, dialing explicity.
van-bc Any a DIR 2400 g "" ATZ OK-\d+++\dATZ-OK ATS7=12 OK ATTD939-4782
CONNECT \d\c ogin:--ogin: uuslmac sword:-\c-sword: uuslmac
Connect to van-bc at 2400 on port a with protocol g.
Expect nothing, send ATZ to reset the modem,
Expect OK, if not received send pause +++ pause to try and get
modems attention and wait for OK.
When OK received, send ATS7=12 to shorten connect timeout on modem.
Expect OK, send ATTD939-74782.
Expect CONNECT, send nothing but pause (\c is needed).
Expect ogin:, if not received send newline.
Send login name.
Expect sword:, send password.
This entry is used to connect directly to my Callan at 9600. It is
complicated due to the Callan running a special mgetty program which
thinks it is talking to a Hayes Smartmodem. So we fake it out, then
tell it the connection has been made at 9600, then switch to 9600
ourselves.
van-bc Any a DIR 2400 g "" OK\r\d\dRING\r\dCONNECT\s9600\d\z9600\
ogin:-\r\r-ogin: uuslmac sword:-\c-sword: uuslmac "" \d\d\d\d\d\d\c
Connect to van-bc at 2400 on port a.
Expect nothing, send OK, pause, RING, CONNECT, 9600,
and change to 9600 bps.
Expect ogin: send login id.
Expect sword: send password.